package jdbc_practice;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/*
    JDBC练习：
        完成 ：向student表中添加一条记录，修改记录，删除一条记录
 */
public class PracticeMain {
    public static void main(String[] args) {
        Statement statement = null;
        Connection connection = null;
        try {
            //1.注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.定义sql语句
            String sql = "insert into student values(70,'zhang','差')";
            //3.获取数据库连接对象
            connection = DriverManager.getConnection("jdbc:mysql:///uuuu?serverTimezone=Asia/Shanghai", "root", "root");
            //4.获取执行sql的对象
            statement = connection.createStatement();
            //5.使用对象中的方法执行sql
            long l = statement.executeLargeUpdate(sql);//返回执行结果
            //6.处理执行结果，向数据库中执行DDl语句不需要使用if来判断，因为返回的执行结果是0
            if (l>0){
                System.out.println("添加成功");
            }else {
                System.out.println("添加失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            //8.释放资源
            /*
                1.提升statement，connection作用域
                2.避免空指针异常，若第3步执行出错，后面的代码就执行不到
             */
            if(statement != null){
                try {
                    statement.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }

            if(connection != null){
                try {
                    connection.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }
}
